package com.itheima.mapper;

import com.itheima.pojo.Brand;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface BrandMapper {
    /*查询Brand的所有字段
    * 分析:
    * 参数:无
    * 结果(返回值):list<Brand>*/
    public List<Brand> BrandSelectAll();
    /*
    * 功能2:查询详情
    * 分析:
    * 参数:id(根据id)
    * 返回(结果):brand
    * */
    public Brand selectBrand(int id);

    /*
    多条件查询:
        *参数接收:
            1.散装参数:如果方法中有多个参数,需要使用@param("sql参数占位符名称)
            2.对象参数:
            3.map集合参数:
    * */
    //public List<Brand> selectByCondition(@Param("status") int status, @Param("companyName") String companyName,@Param("brandName") String brandName);
   // public List<Brand> selectByCondition(Brand brand);
    public List<Brand> selectByCondition(Map map);

    /*单条件的动态查询*/
    public List<Brand> selectByConditionSingle(Brand brand);

    /*添加
    * 分析:
    *     * 参数:除了id之外的所有数据
    *     * 返回值(结果):void */
    public void addAll(Brand brand);

    /*修改属性*/
    public void update(Brand brand);
    public int updateSingle(Brand brand);


    /*删除*/
    //public void deleteById(int id);

    /*常用的是批量删除
    * 分析:
    * 参数:存放id的数组
    * 结果:void
    * */
    public void deleteByIdS(@Param("ids") int[] ids);
}
